home *** CD-ROM | disk | FTP | other *** search
- /*
- File: FWiXPriv.h
-
- Contains: Private definitions and interfaces for FireWire File Exchange
- driver family.
-
- Version: xxx put version here xxx
-
- Written by: Jay Lloyd
-
- Copyright: © 1996-1997, 1999 by Apple Computer, Inc., all rights reserved.
-
- File Ownership:
-
- DRI: xxx put dri here xxx
-
- Other Contact: xxx put other contact here xxx
-
- Technology: xxx put technology here xxx
-
- Writers:
-
- (jkl) Jay Lloyd
-
- Change History (most recent first):
-
- <FW7> 4/8/99 jkl More interface cleanup.
- <FW6> 4/8/99 jkl Converted to use GDF services.
- <FW5> 2/7/97 ES Added defs for queueing client Apple Events.
- <FW4> 1/8/97 ES Added defs for FWX nodes.
- <FW3> 12/19/96 GG Added FWXScannerEntryPointProc Definition.
- <FW2> 11/13/96 JL Moved from DoDriverIO interface back to CallDriver interface.
- <FW1> 10/2/96 JL initial check-in, copied from avt family
-
- */
-
- #ifndef __FWIXPRIV__
- #define __FWIXPRIV__
-
- #ifndef __TYPES__
- #include <Types.h>
- #endif
- #ifndef __APPLEEVENTS__
- #include <AppleEvents.h>
- #endif
- #ifndef __NAMEREGISTRY__
- #include <NameRegistry.h>
- #endif
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #if PRAGMA_IMPORT_SUPPORTED
- #pragma import on
- #endif
-
- #if PRAGMA_ALIGN_SUPPORTED
- #pragma options align=mac68k
- #endif
-
- typedef struct FWXClientDataStruct
- FWXClientData,
- *FWXClientDataPtr;
-
- typedef struct FWXDriverDataStruct
- FWXDriverData,
- *FWXDriverDataPtr;
-
- typedef struct FWXNodeDataStruct
- FWXNodeData,
- *FWXNodeDataPtr;
-
- struct FWXFamilyDataStruct
- {
- FWXClientDataPtr pFWXClientList; // Pointer to list of registered clients.
- FWXDriverDataPtr pFWXDriverList; // Pointer to list of installed drivers.
- UInt32 numFWXDrivers; // Number of drivers in above list.
- FWXNodeDataPtr pFWXNodeList; // Pointer to list of installed nodes.
- UInt32 numFWXNodes; // Number of nodes in above list.
- };
- typedef struct FWXFamilyDataStruct
- FWXFamilyData,
- *FWXFamilyDataPtr;
-
- typedef struct ClientAppleEventDataStruct
- ClientAppleEventData,
- *ClientAppleEventDataPtr;
- struct ClientAppleEventDataStruct
- {
- ClientAppleEventDataPtr pNextClientAppleEventData; // Link to next client Apple Event.
- AppleEvent clientAppleEvent; // The apple event to send.
- Boolean clientAppleEventValid; // True if above is valid.
-
- AppleEvent *reply; // Apple Event reply.
- AESendMode sendMode; // Send mode of Apple Event.
- AESendPriority sendPriority; // Priority of Apple Event.//zzz how to best implement this wrt SWInts???
- long timeOutInTicks; // Timeout of Apple Event.//zzz how to best implement this wrt SWInts???
- AEIdleUPP idleProc; // Idle proc for Apple Event.
- AEFilterUPP filterProc; // Filter proc for Apple Event.
- };
-
- struct FWXClientDataStruct
- {
- FWXClientDataPtr pPrevFWXClientData,
- pNextFWXClientData; // Pointer to previous and next client in list.
-
- QHdrPtr clientAppleEventQueue; // Queue of Apple Events to send to client.
-
- AppleEvent deviceAddedAppleEvent; // Apple event for device added notification.
- Boolean deviceAddedAppleEventValid; // True if above event is valid.
-
- AppleEvent deviceRemovedAppleEvent; // Apple event for device removed notification.
- Boolean deviceRemovedAppleEventValid; // True if above event is valid.
-
- AEAddressDesc clientAEAddress; // Address of client.
- Boolean clientAEAddressValid; // True if above descriptor is valid.
-
- UInt32 clientContextData; // Data for use by client.
- };
-
- struct FWXDriverDataStruct
- {
- FWXDriverDataPtr pNextFWXDriverData; // Pointer to next driver in driver list.
- FWXDriverID fwxDriverID; // ID referencing this data record.
- FWXInterfaceProcPtr pFWXDriverInterface; // Pointer to main interface proc
- Ptr pDriverSpecificData; // Data specific to driver.
- RegEntryID deviceRegistryID; // Name registry ID of AV transport control device
- CFragConnectionID driverConnID; // Code fragment connection ID for this driver.
- UInt32 numConnections; // Number of connections to this driver.
- Boolean deviceDisconnected; // True if device was disconnected.
- };
-
- struct FWXNodeDataStruct
- {
- FWXNodeDataPtr pNextFWXNodeData; // Pointer to next node in node list.
- FWXDriverID fwxDriverID; // ID of driver controlling this node.
- Ptr pNodeSpecificData; // Data specific to node.
- UInt32 fwxNodeRegistrationReference; // Node registration reference.
- UInt32 numConnections; // Number of connections to this node.
- Boolean nodeDisconnected; // True if node was disconnected.
- Boolean nodeOpen; // True if node is open.
- };
-
- #if PRAGMA_ALIGN_SUPPORTED
- #pragma options align=reset
- #endif
-
- #if PRAGMA_IMPORT_SUPPORTED
- #pragma import off
- #endif
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif /* __FWIXPRIV__ */
-